热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQL与SQLite的关系划分-RelationalDivisioninSQLwithSQLite

Imtryingtodoarelationaldivisiononthefollowingtable(sorryfortheDutchphrasing)usingt

I'm trying to do a relational division on the following table (sorry for the Dutch phrasing) using this document and this question.

我正在尝试使用此文档和此问题对下表(对于荷兰语措辞感到遗憾)进行关系划分。

    voedsel_id  dier_id
    1005        1006
    1004        1006
    1005        1005
    1005        1004
    1004        1004
    1001        1003
    1001        1002
    1001        1001

Which let to the following query for what I want to do.

以下是我想要做什么的查询。

SELECT DISTINCT dier_id
FROM Dieren_voedsel AS X
WHERE NOT EXISTS(
    SELECT voedsel_id
    FROM Dieren_voedsel AS Y
    WHERE Y.dier_id = 1006 AND NOT EXISTS(
        SELECT voedsel_id
        FROM Dieren_voedsel AS Z
        WHERE X.voedsel_id = Z.voedsel_id AND Y.dier_id = Z.dier_id
    )
)
ORDER BY dier_id;

Which let to the following unexpected output.

这让以下意外输出。

dier_id
1004
1005
1006

I thought this division would output all the dier_id tuples that have exactly the same voedsel_id values as dier_id 1006. However, it includes dier_id 1005 which only has voedsel_id 1005 and dier_id 1006 has voedsel_id 1004 and 1005. I thought this would only return dier_id 1004 and 1006. Is there something I did wrong or do I not know how a relational division works?

我认为这个分区会输出所有与dier_id 1006具有完全相同的voedsel_id值的dier_id元组。但是,它包括dier_id 1005,它只有voedsel_id 1005而dier_id 1006有voedsel_id 1004和1005.我认为这只会返回dier_id 1004和1006.我做错了什么或不知道关系师如何运作?

1 个解决方案

#1


3  

In your innermost subquery, you got the references to X and Y wrong:

在最里面的子查询中,您得到了对X和Y的引用错误:

SELECT DISTINCT dier_id
FROM Dieren_voedsel AS X
WHERE NOT EXISTS(
    SELECT *
    FROM Dieren_voedsel AS Y
    WHERE Y.dier_id = 1006
      AND NOT EXISTS(
        SELECT *
        FROM Dieren_voedsel AS Z
        WHERE Z.dier_id = X.dier_id
          AND Z.voedsel_id = Y.voedsel_id
    )
)
ORDER BY dier_id;

推荐阅读
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 有没有人用过sqlite?关于tablehasnocolumnnamedcolumn插入数据的时候报上边的错。问题是我明明有这一列。直接在sqlitedevoloper里执 ... [详细]
  • Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门
    第一节:前言(技术简介)EasyUI是一套js的前端框架利用它可以快速的开发出好看的前端系统web它是在jquery的框架基础上面现在越来越多的企业用它来开发web系统 ... [详细]
  • IhaveonedoubtinSqlite.dteTimeDataTypeisVarchar(200)inTablestructure.Iwanttogetresult ... [详细]
  • 州的先生(https:zmister.com)在很多项目中都有使用到SQLite数据库作为数据存储的工具,其中包括一些桌面图形界面程序和线上的Web应用程序。至今为止,它们都运行良 ... [详细]
  • Python使用SQLite1.sqlite3的安装python2.5.x以上版本默认自带sqlite3模块。2.链接sqlite3数据库```#导入sqlite3模块import ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • SQLite Select语句
    基本语法:SELECTcolumn1,column2,columnNFROMtable_name;若想获取所有可用字段,则如下:SELECT*FROMtable_name;假设:i ... [详细]
  • 背景使用sqlite3的命令实现数据去重,与无效数据删除等操作。所有操作均封装在shellscript中。创建数据库邮件数据库:UserEmail.dbEmail表:TABLE_EM ... [详细]
  • 对于很多想做通讯录,或者很多想对系统通讯录操作的童鞋们肯定都会遇到个问题,系统通讯录操作很麻烦,我能不能直接看看底层联系人表结构呢?如果可以看到的话,那一定能提高相关操作的准确性和效率吧。  不多说, ... [详细]
  • iOS关于移动端SQLite,你想知道的都有
    一、SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目 ... [详细]
author-avatar
DD906114329
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有